package com.qf.sclg.controller;

import com.alibaba.fastjson.JSONObject;
import com.qf.sclg.pojo.User;
import org.springframework.web.bind.annotation.*;

/**
 * Created with IntelliJ IDEA.
 * User: zdk
 * Date: 2021/10/11 11:03
 * Description:
 * Version: V1.0
 * http://127.0.0.1:8080/home/query/1/xiyang
 * test:http://127.0.0.1:8080/home/query123?id=100&name=jiliang
 * test1：http://127.0.0.1:8080/home/insert
 *
 * 1.拦截请求
 * 2.获取请求中的参数
 * 3.调用服务处
 * 4.返回数据  视图，json,xml,html
 * 请求规范  restful风格
 * 1.get  用于查询
 * 2.post  用于添加,数据量较大，用对象接收
 * 3.put   用于修改
 * 4.delete 用于删除
 * 5.patch  用于修改
 * post,delete,put,patch请求编写和接口规范，请求传参都放在请求体中，参数格式必须是jsion格式
 */
//@Controller
@RestController  //当前层为控制层
@RequestMapping("home")
public class HomeController {
    //test
    @RequestMapping("query123")
    @ResponseBody
    public String query3(Integer id,String name){
       return id+name;
    }
    //只接受get请求,简写的第二种
    @GetMapping("query/{id}/{name}")
//    @RequestMapping(value = "query",method = RequestMethod.GET)
    public String query(@PathVariable("id") Integer id,@PathVariable("name")String name){
//        return user.getId()+"....."+user.getName();
        return "参数"+id+name;
    }
    //jsons数据其实就是一个字符串，带有特殊格式的字符串
    //test1
    @PostMapping("insert")
//    @RequestMapping(value = "query",method = RequestMethod.GET)
    public String insert(@RequestBody String s){
        //fastjson---可以将java对象和json相互转换
        //参数比较少的时候
        JSONObject jsonObject = JSONObject.parseObject(s);
        Integer id = (Integer) jsonObject.get("id");
        String name =(String) jsonObject.get("name");
        return id+name;
    }
//    public String insert1(@RequestBody User user){
//        //参数比较多的时候
//        return String.valueOf(user.getId());
//    }
    @PatchMapping ("query1")
    public String query1(User user){
        return "getmapping";
    }
    @RequestMapping("ru")
    @ResponseBody
    public String query1(){
        return "ok";
    }
}
